package com.code.generator.model;

import com.code.generator.model.ColumnData;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class TableInfo {
    private String tableName;
    private String tableComment;
    private boolean generateDomain = true;
    private boolean generateSqlMap = true;
    private boolean generateDao = true;
    private boolean generateManager = false;
    private boolean generateService = false;
    private boolean generateController = false;
    private boolean generateCreate = false;
    private boolean generateUpdate = false;
    private boolean generateDelete = false;
    private boolean generateQuery = false;
    private boolean needSharding = false;
    private boolean onExistsOverride = false;
    private Set<String> beanFieldDataTypeSet = new HashSet<String>();
    private List<ColumnData> columnDataList = new ArrayList<ColumnData>();
    private List<ColumnData> columnKeyDataList = new ArrayList<ColumnData>();

    public TableInfo() {
    }

    public String getTableName() {
        return this.tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getTableComment() {
        return this.tableComment;
    }

    public void setTableComment(String tableComment) {
        this.tableComment = tableComment;
    }

    public List<ColumnData> getColumnDataList() {
        return this.columnDataList;
    }

    public void setColumnDataList(List<ColumnData> columnDataList) {
        this.columnDataList = columnDataList;
    }

    public List<ColumnData> getColumnKeyDataList() {
        return this.columnKeyDataList;
    }

    public void setColumnKeyDataList(List<ColumnData> columnKeyDataList) {
        this.columnKeyDataList = columnKeyDataList;
    }

    public Set<String> getBeanFieldDataTypeSet() {
        return this.beanFieldDataTypeSet;
    }

    public void setBeanFieldDataTypeSet(Set<String> beanFieldDataTypeSet) {
        this.beanFieldDataTypeSet = beanFieldDataTypeSet;
    }

    public boolean isGenerateDomain() {
        return this.generateDomain;
    }

    public void setGenerateDomain(boolean generateDomain) {
        this.generateDomain = generateDomain;
    }

    public boolean isGenerateSqlMap() {
        return this.generateSqlMap;
    }

    public void setGenerateSqlMap(boolean generateSqlMap) {
        this.generateSqlMap = generateSqlMap;
    }

    public boolean isGenerateDao() {
        return this.generateDao;
    }

    public void setGenerateDao(boolean generateDao) {
        this.generateDao = generateDao;
    }

    public boolean isGenerateManager() {
        return this.generateManager;
    }

    public void setGenerateManager(boolean generateManager) {
        this.generateManager = generateManager;
    }

    public boolean isGenerateService() {
        return this.generateService;
    }

    public void setGenerateService(boolean generateService) {
        this.generateService = generateService;
    }

    public boolean isGenerateController() {
        return this.generateController;
    }

    public void setGenerateController(boolean generateController) {
        this.generateController = generateController;
    }

    public boolean isGenerateCreate() {
        return this.generateCreate;
    }

    public void setGenerateCreate(boolean generateCreate) {
        this.generateCreate = generateCreate;
    }

    public boolean isGenerateUpdate() {
        return this.generateUpdate;
    }

    public void setGenerateUpdate(boolean generateUpdate) {
        this.generateUpdate = generateUpdate;
    }

    public boolean isGenerateDelete() {
        return this.generateDelete;
    }

    public void setGenerateDelete(boolean generateDelete) {
        this.generateDelete = generateDelete;
    }

    public boolean isGenerateQuery() {
        return this.generateQuery;
    }

    public void setGenerateQuery(boolean generateQuery) {
        this.generateQuery = generateQuery;
    }

    public boolean isNeedSharding() {
        return this.needSharding;
    }

    public void setNeedSharding(boolean needSharding) {
        this.needSharding = needSharding;
    }

    public boolean isOnExistsOverride() {
        return this.onExistsOverride;
    }

    public void setOnExistsOverride(boolean onExistsOverride) {
        this.onExistsOverride = onExistsOverride;
    }
}

